# 定义变量
srcs = ppipe.c
objs = ppipe.o
opts = -g -c

# 声明伪目标
.PHONY: all clean

# 默认目标
all: ppipe

# 生成可执行文件
ppipe: $(objs)
	gcc $^ -o $@

# 生成目标文件（显式使用自动化变量）
$(objs): $(srcs)
	gcc $(opts) -o $@ $<

# 清理中间文件
clean:
	rm -f ppipe *.o
